package com.aoxin.service.inter.opm;

import java.util.List;
import java.util.Map;

import com.aoxin.model.dto.TreeDto;
import com.aoxin.model.opm.SlfOrg;

/**
 * 机构服务接口
 * 
 * @author Melody
 * @date 2018年3月20日 上午9:37:44
 */
public interface OrgService {

	/**
	 * 添加机构
	 * 
	 * @param org
	 *            机构对象
	 */
	public void insertSlfOrg(SlfOrg org);

	/**
	 * 删除机构
	 * 
	 * @param orgId
	 *            机构ID
	 */
	public void deleteSlfOrg(Integer orgId);

	/**
	 * 批量删除机构
	 * 
	 * @param orgIds
	 *            机构ID集合
	 */
	public void deleteSlfOrgByIds(List<Integer> orgIds);

	/**
	 * 修改机构
	 * 
	 * @param org
	 *            机构
	 */
	public void updateSlfOrg(SlfOrg org);

	/**
	 * 批量修改机构状态
	 * 
	 * @param orgIds
	 *            机构ID集合
	 * @param state
	 *            状态
	 */
	public void updateSlfOrgStates(List<Integer> orgIds, Integer state);

	/**
	 * 查询机构
	 * 
	 * @param orgId
	 *            机构ID
	 * @return 机构
	 */
	public SlfOrg getSlfOrg(Integer orgId);

	/**
	 * 查询机构
	 * 
	 * @param params
	 *            条件集合
	 * @return 机构集合
	 */


	public List<SlfOrg> getSlfOrgList(Integer orgId,Integer state);


	/**
	 * 获取下一排序号
	 * 
	 * @param partId
	 *            父ID
	 * @return 序号
	 */
	public Long getNextSequence(Integer partId);

	/**
	 * 查询机构树
	 * 
	 * @param partId
	 *            父ID
	 * @return 机构树
	 */
	public List<SlfOrg> getOrgTreeList(Integer partId);
}
